package com.carpark.ejb.DAO;

import com.carpark.ejb.Model.AccountingdataModel;
import com.carpark.ejb.Model.ClientsModel;
import com.carpark.ejb.Model.ParkingpassesModel;
import com.carpark.ejb.Model.PassesrecordsModel;
import java.util.Date;
import java.util.List;
import javax.ejb.Local;
import javax.ejb.Remote;
import javax.persistence.EntityManager;

@Local
interface PassesrecordDAO {

    public List<PassesrecordsModel> getAllPassesRecords();

    public PassesrecordsModel getPassesrecordById(Integer id);

    public EntityManager getEntityManager();

    public int getPassesrecordModelSize();

    public List<PassesrecordsModel> getPassesrecordByAddingDate(Date addingDate);

    public int getPassesrecordByAddingDateSize(Date addingDate);

    public void addPassesrecord(PassesrecordsModel ad);

    public void removePassesrecord(Integer id);

    public void updatePassesrecord(PassesrecordsModel am);

    public List<ParkingpassesModel> getParkingPassesByClient(ClientsModel cl);
    
    public List<ParkingpassesModel> getParkingPassesByAccounting(AccountingdataModel acc);

    public List<AccountingdataModel> getAccountingDataByClient(ClientsModel cl);
    
    public AccountingdataModel getAccountingByPass(ParkingpassesModel pass);
}
